# 1. 内置函数 sorted()
# 作用: 返回排序列表
# 语法: sorted(iterable, key=None, reverse=False)
# 参数: iterable:序列（range对象,字符串，元组，列表）或集合（集合，字典)
# 参数: reverse（可选） 如果为True,降序排列。如果未提供，则默认为False 代表升序排列
# 参数: key（可选） 用作排序比较键的功能。默认为None
# 返回值: 排序完的列表

# 数字字母符号的排序遵循ASCII码表
# res = sorted("AdbajkdhbAaskCj")

# 降序
# a = [2,3,4,1,2,3,11,7,34,12]
# res = sorted(a,reverse=True)
# print(res)

#key参数 : 用作排序比较键
# def take_second(elem):
#     return elem[1]
#
# b = [[9,3,3],[11,2,1],[11,1,1],[7,9,32],[6,10,9],[1,3,2]]
# # 升降序 如果比较的值一样 看原始顺序 谁在前就在前
# res = sorted(b,key=take_second)
# print(res)
# print(b)




# 2. Python 列表的 sort()
# 作用: 对给定列表的元素进行排序
# 语法: list.sort(key=..., reverse=...)
# 参数: reverse（可选） 如果为True,降序排列。如果未提供，则默认为False 代表升序排列
# 参数: key（可选） 用作排序比较键的功能。默认为None
# 返回值: sort()方法不返回任何值(返回空 None)。相反，它将更改原始列表


# a = [2,3,4,1,2,3,11,7,34,12]
# a.sort(reverse=True)
# print(a)

# def take_second(elem):
#     return elem[1]
#
# b = [[9,3,3],[11,2,1],[11,1,1],[7,9,32],[6,10,9],[1,3,2]]
# # 升降序 如果比较的值一样 看原始顺序 谁在前就在前
# b.sort(key=take_second)
# print(b)




#3. !!!注意： sort()和sorted()之间最简单的区别是：sort()不返回任何值 对原列表进行原地排序，而sorted()返回可迭代的列表。
#4. !!!注意： sorted可以进行部分排序 而 sort不行

a = [2,3,4,1,29,3,11,7,34,12]
res = sorted(a[3:6])
print(res)

